######################## %  格式化################
# name = "wen"
# age = 18
# print("姓名：%s, 年龄: %s"%(name,age))
# print("姓名：%s, 年龄: %s"%(age,name))

#  基本格式
#      %[(name)][flags][width].[precision]typecode
# - (name):命名
# - flags: +,-,‘ ’或0。+表示正数加号；-表示左对齐；' '为一个空格，表示在正数的左侧填充一个空格，从而与负数对齐，0表示使用0填充。
# - width表示显示宽度
# - precision表示小数点后精度
#typecode:
#%s  字符串
#%d  表示十进制数
#%f  浮点数
#%x  十六进制数
#%%   表示%
# print("flag为+号:%10d"%11)
# print("flag为+号:%+10d"%11)
# print("flag为+号:%-10d"%11)
# print("格式化:%+3x"%11)
# print("格式化:% d"%11)
# print("格式化:%06d"%11)
# print("小数格式化:%.3f"%(4.230582045))
# print("格式化: %010.4f"%(4.24534694))

################ format 格式化################
# company = "sanchuang"
# employees = 3
#
# print("format01 ---> 公司:{},员工人数:{}".format(company,employees))
# print("format01 ---> 公司:{1},员工人数:{0},{1},{0}".format(company,employees))
# print("format01 ---> 公司:{cp},员工人数:{ep},{ep}".format(cp=company,ep=employees))

#基本格式
#{变量:[填充字符][对齐方式 <^>][宽度][格式]}
#对齐与填充
# print("format01 --> {0:*>10}".format(10,20))
# print("format02 --> {1:*^10}".format(10,20))
#
# print("format03 --> {0:*>15.2f}".format(1/3))
# print("format04 --> {0:b}".format(10))
# #千分位格式化
# print("format05 -->{0:,}".format(123456789))
#
# ##################f 格式化##########################
# #python3 使用
# name = "wen"
# age = 18
#
# print(f"姓名:{name},年龄:{age:*^10}")

###############练习
a = "字符串拼接1"
b = "字符串拼接2"

print(a+b)
c = [a, b]
print("".join(c))
print("{a}{b}".format(a=a,b=b))
print(f"{a}{b}")
str1 = f"{a}{b}"
print("新字符串长度：",len(str1))
print("取出第7个字符:",str1[6])

# 将字符串"8*y*cali*china**it*soft*linux*python"里的所有的`*`号抽取出来放到最前面，里面的字符串保持顺序不变
s = "8*y*cali*china**it*soft*linux*python"
print(s.split("*"))
num = len(s.split("*"))-1
num = s.count("*")
s1 = s.replace("*","")
s2 = "*"*num+s1
print(s2)

len_s = len(s)
s3 = s.replace("*","")
print(s3)
print(s3.rjust(len_s,"*"))